Software developers develop applications that request and receive data from other applications. In some examples, an application can request data from another application through an application program interface (API). An API can be described as a set of routines, protocols, and tools, and expresses a software component in terms of its operations, inputs, outputs, and underlying types. An example API includes a web service API. In some examples, web service APIs that adhere to the representational state transfer (REST) architectural constraints are called RESTful APIs. The open data protocol (OData) is an OASIS standard that provides best practices for building and consuming RESTful APIs.
In developing an application that is to consume an OData-based API, the developer must learn about the application structure, entities, relationships, logic, etc. This information is required in order to understand the hypertext transfer protocol (HTTP) calls that should be used in terms of uniform resource locators (URLs), HTTP method, payload, expected response, and the like.
In order to provide this information, OData provides a constant URL (e.g., ˜/$metadata), which returns an extensible markup language (XML) document that describes the entire application. In some examples, the XML document is provided as a common schema definition language (CSDL). The CSDL document, however, is complex and often difficult to understand (e.g., determining the actual HTTP calls expressed in the CSDL document can be very difficult). In order to understand the CSDL document, familiarity with CSDL as whole is needed, as well as with the OData concepts. This increase the application development learning curve, and increases the time it takes from the moment the application is released until the time it is fully consumed.